/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package desarrollosoft.ghce.vista.implementaciones;

import org.zkoss.bind.BindContext;
import org.zkoss.bind.Converter;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.WrongValueException;

/**
 *
 * @author ariel
 */
public class ConversorIntEdades implements Converter {

    @Override
    public Object coerceToUi(Object value, Component component, BindContext ctx) {
        if (value == null) {
            return "";
        }
        String cadenaNumero = String.valueOf(value);
        return cadenaNumero;
    }

    @Override
    public Object coerceToBean(Object value, Component component, BindContext ctx) {
        Integer valorInteger;
        try {
            valorInteger = Integer.valueOf((String) value);
            if (valorInteger < 0) {
                String mensajeError = "Ingrese un numero Mayor o igual a cero (>= 0)";
                throw new WrongValueException(component, mensajeError);
            }
        } catch (NumberFormatException e) {
            String mensajeError = "Ingrese un numero entero";
            /* de cualquiera de las 2 formas, la excepcion llega a la consola :/ */
            //throw UiException.Aide.wrap(new WrongValueException(component, mensajeError));
            throw new WrongValueException(component, mensajeError);
        }
        return valorInteger;
    }
    
}
